Because the styling of an automobile is so critical to customer acceptance, considerable effort is expended in designing and accurately representing the visible inner and outer surfaces of the vehicle. Most of this design effort has historically involved the creation of concept designs (artist sketches, renderings and drawings) followed by the sculpturing of 3/8 or full scale clay models. It has been proposed to integrate computer aided design (CAD) systems into this design process. Models designed or represented within such CAD systems can be rendered on a two-dimensional graphics screen using color and shading to produce life-like images of the defining mathematical surfaces. Despite these powerful CAD design and evaluation tools, designers and others find it necessary to create, view and evaluate a hard, physical, three-dimensional realization of the mathematical model in order to effectively evaluate a particular concept. Hard models are also needed to evaluate the aerodynamic performance of a proposed design. Once a model has been designed on a CAD system, an accurate, hard model ideally should be produced rapidly with minimal user involvement. In the best of situations, hard model generation would proceed so rapidly that the process of CAD design and model realization/evaluation could proceed interactively.
Prior attempts to use the CAD mathemetical models as data sources for numerically controlled milling machine control resulted in the procedure of calculating all the points for the cutting tool path and storing the points in the N/C machine. Because so many points are required to define the cutting path for the entire model, the time required is burdensome. For a three-axis milling machine, many hours are required to calculate the points from the CAD model. For instance, a pre-cutting path generation time of 14 hours is required for a 3/8 scale concept model. For a five-axis machine, even more time may be required to calculate the tool path. According to the present invention, a more efficient way of generating a tool path from CAD data and transferring it to the cutting machine permits cutting to begin in a minute (instead of hours or days) from the beginning of the calculations. Thereafter, the tool path calculation proceeds in real time and is fed to the machine one line at a time so that minimal data storage space is required. The cutting machine may be an N/C milling machine which can cut any hardness material from clay to steel with high accuracy, or a robot carrying a mill which is faster, less expensive and more flexible than most milling machines but has lower accuracy.
Traditionally, the point data of a tool path can be generated by well known "teaching by doing" techniques for robots, or they can be generated from math models by computers. Even in the second case, only the geometric information of the data points in real world Cartesian space, but not their relation with respect to time, can be extracted from the math models and given to machine operators. The current available computer software often use equal distance intervals between data points to generate tool paths, or generate the data points in such a way that the maximum deviations of the straight lines, which connect two consecutive points, from the desired path is within tolerance. In either case, any downstream need of machine motion control is not being considered and involved in this early stage of the tool path generating process. Similarly, when the robot or machine operators receive the discrete point data they have no knowledge and control of the math model nor of the tool path data generating process. They have to passively follow these point data with a given speed and use their own interpolation between these given points to achieve smooth motions. This procedure is carried on without regard to the actual contour of the CAD model since that information, other than the supplied discrete data points, is not available to the controller. The result is 1) the data points generated and supplied are not efficient and suited to the downstream use from the motion control point of view, and 2) the interpolation may introduce a deviation from the desired path.
The proposed solution to this problem is to drive the robot directly by the math model, instead of doing the path planning in Cartesian space; that is, to do the path planning in parametric space using the math model to generate the points wherever necessary so that only minimal interpolation by the robot controller is needed and the points are spaced to assure accurate and desired smooth machine motion. A result of the solution is a path planning method applicable to robot usage for cutting or other trajectory tracking operations as well as to other multi-axis machine operations. The solution is especially adapted for real time machine operations but can be used also for teaching a path which is stored for use after the whole path is calculated. This eliminates the need to teach a path by a teaching pendant whereby the machine is jogged through a desired path and the path points are inserted one at a time by operator direction, or by an off-line work station using computer graphical animation to interactively develop path points. Both of these prior techniques are slow and are limited to tool path generating processes which ignore the downstream requirements on machine motion control.